Module: RDoc

Defined in:
lib/rdoc.rb,
lib/rdoc/known_classes.rb

Overview

RDoc produces documentation for Ruby source files by parsing the source and extracting the definition for classes, modules, methods, includes and requires. It associates these with optional documentation contained in an immediately preceding comment block then renders the result using an output formatter.

For a simple introduction to writing or generating documentation using RDoc see the README.

Roadmap

If you think you found a bug in RDoc see CONTRIBUTING@Bugs

If you want to use RDoc to create documentation for your Ruby source files, see RDoc::Markup and refer to rdoc --help for command line usage.

If you want to set the default markup format see RDoc::Markup@Supported+Formats

If you want to store rdoc configuration in your gem (such as the default markup format) see RDoc::Options@Saved+Options

If you want to write documentation for Ruby files see RDoc::Parser::Ruby

If you want to write documentation for extensions written in C see RDoc::Parser::C

If you want to generate documentation using rake see RDoc::Task.

If you want to drive RDoc programmatically, see RDoc::RDoc.

If you want to use the library to format text blocks into HTML or other formats, look at RDoc::Markup.

If you want to make an RDoc plugin such as a generator or directive handler see RDoc::RDoc.

If you want to write your own output generator see RDoc::Generator.

If you want an overview of how RDoc works see CONTRIBUTING

Credits

RDoc is currently being maintained by Eric Hodel <[email protected]>.

Dave Thomas <[email protected]> is the original author of RDoc.

  • The Ruby parser in rdoc/parse.rb is based heavily on the outstanding work of Keiju ISHITSUKA of Nippon Rational Inc, who produced the Ruby parser for irb and the rtags package.

Defined Under Namespace

Modules: Encoding, Generator, I18n, RI, RubyToken, Text, TokenStream Classes: Alias, AnonClass, AnyMethod, Attr, ClassModule, CodeObject, Comment, Constant, Context, CrossReference, ERBIO, ERBPartial, Error, Extend, Gauntlet, GhostMethod, Include, Markdown, Markup, MetaMethod, MethodAttr, Mixin, NormalClass, NormalModule, Options, Parser, RD, RDoc, Require, RubyLex, RubygemsHook, Servlet, SingleClass, Stats, Store, Task, TestCase, TomDoc, TopLevel

Constant Summary collapse

VERSION =

RDoc version you are using

'4.2.1'
VISIBILITIES =

Method visibilities

[:public, :protected, :private]
DOT_DOC_FILENAME =

Name of the dotfile that contains the description of files to be processed in the current directory

".document"
GENERAL_MODIFIERS =

General RDoc modifiers

%w[nodoc].freeze
CLASS_MODIFIERS =

RDoc modifiers for classes

GENERAL_MODIFIERS
ATTR_MODIFIERS =

RDoc modifiers for attributes

GENERAL_MODIFIERS
CONSTANT_MODIFIERS =

RDoc modifiers for constants

GENERAL_MODIFIERS
METHOD_MODIFIERS =

RDoc modifiers for methods

GENERAL_MODIFIERS +
%w[arg args yield yields notnew not-new not_new doc]
KNOWN_CLASSES =

Ruby’s built-in classes, modules and exceptions

{
  "rb_cArray"            => "Array",
  "rb_cBasicObject"      => "BasicObject",
  "rb_cBignum"           => "Bignum",
  "rb_cClass"            => "Class",
  "rb_cData"             => "Data",
  "rb_cDir"              => "Dir",
  "rb_cEncoding"         => "Encoding",
  "rb_cFalseClass"       => "FalseClass",
  "rb_cFile"             => "File",
  "rb_cFixnum"           => "Fixnum",
  "rb_cFloat"            => "Float",
  "rb_cHash"             => "Hash",
  "rb_cIO"               => "IO",
  "rb_cInteger"          => "Integer",
  "rb_cModule"           => "Module",
  "rb_cNilClass"         => "NilClass",
  "rb_cNumeric"          => "Numeric",
  "rb_cObject"           => "Object",
  "rb_cProc"             => "Proc",
  "rb_cRange"            => "Range",
  "rb_cRegexp"           => "Regexp",
  "rb_cRubyVM"           => "RubyVM",
  "rb_cSocket"           => "Socket",
  "rb_cString"           => "String",
  "rb_cStruct"           => "Struct",
  "rb_cSymbol"           => "Symbol",
  "rb_cThread"           => "Thread",
  "rb_cTime"             => "Time",
  "rb_cTrueClass"        => "TrueClass",

  "rb_eArgError"         => "ArgError",
  "rb_eEOFError"         => "EOFError",
  "rb_eException"        => "Exception",
  "rb_eFatal"            => "fatal",
  "rb_eFloatDomainError" => "FloatDomainError",
  "rb_eIOError"          => "IOError",
  "rb_eIndexError"       => "IndexError",
  "rb_eInterrupt"        => "Interrupt",
  "rb_eLoadError"        => "LoadError",
  "rb_eNameError"        => "NameError",
  "rb_eNoMemError"       => "NoMemError",
  "rb_eNotImpError"      => "NotImpError",
  "rb_eRangeError"       => "RangeError",
  "rb_eRuntimeError"     => "RuntimeError",
  "rb_eScriptError"      => "ScriptError",
  "rb_eSecurityError"    => "SecurityError",
  "rb_eSignal"           => "SignalException",
  "rb_eStandardError"    => "StandardError",
  "rb_eSyntaxError"      => "SyntaxError",
  "rb_eSystemCallError"  => "SystemCallError",
  "rb_eSystemExit"       => "SystemExit",
  "rb_eTypeError"        => "TypeError",
  "rb_eZeroDivError"     => "ZeroDivError",

  "rb_mComparable"       => "Comparable",
  "rb_mEnumerable"       => "Enumerable",
  "rb_mErrno"            => "Errno",
  "rb_mFConst"           => "File::Constants",
  "rb_mFileTest"         => "FileTest",
  "rb_mGC"               => "GC",
  "rb_mKernel"           => "Kernel",
  "rb_mMath"             => "Math",
  "rb_mProcess"          => "Process"
}

Class Method Summary collapse

Class Method Details

.load_yamlObject

Loads the best available YAML library.



109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
# File 'lib/rdoc.rb', line 109

def self.load_yaml
  begin
    gem 'psych'
  rescue NameError => e # --disable-gems
    raise unless e.name == :gem
  rescue Gem::LoadError
  end

  begin
    require 'psych'
  rescue ::LoadError
  ensure
    require 'yaml'
  end
end